On Satisfiability Modulo Computable Functions

نویسندگان

  • Philippe Suter
  • Ali Sinan Köksal
  • Viktor Kuncak
چکیده

We present a semi-decision procedure for checking satisfiability of formulas in the language of algebraic data types and integer linear arithmetic extended with user-defined terminating recursive functions. Our procedure is designed to integrate into a DPLL(T ) solver loop, using blocking clauses to control function definition unfolding. The procedure can check the faithfulness of candidate counterexamples using code execution. It is sound for proofs and counterexamples. Moreover, it is terminating and thus complete for many important classes of specifications: for satisfiable specifications, for specifications whose recursive functions are sufficiently surjective, and for functions annotated with inductive postconditions. We have implemented our system in Scala, building on top of the Z3 API and Z3’s plugin mechanism. Our results show our approach to be superior in practice to the alternative of encoding recursive functions as quantified axioms. Using our system, we verified detailed correctness properties for functional data structure implementations, as well as Scala syntax tree manipulations. We have found our system to be fast for both finding counterexamples and finding proofs for inductively annotated specifications. Furthermore, it can quickly enumerate many test cases satisfying a given functional precondition, which can then be used to test both functional and imperative code. Thanks to our tool, many SMT solver clients, including verifiers and synthesizers, can benefit from the expressive power of recursive function definitions within

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Functional Stable Model Semantics and Answer Set Programming Modulo Theories

Recently there has been an increasing interest in incorporating “intensional” functions in answer set programming. Intensional functions are those whose values can be described by other functions and predicates, rather than being pre-defined as in the standard answer set programming. We demonstrate that the functional stable model semantics plays an important role in the framework of “Answer Se...

متن کامل

Satisfiability Modulo Free Data Structures Combined with Bridging Functions

Free Data Structures are finite semantic trees modulo equational axioms that are useful to represent classical data structures such as lists, multisets and sets. We study the satisfiability problem when free data structures are combined with bridging functions. We discuss the possibility to get a combination method à la Nelson-Oppen for these particular non-disjoint unions of theories. In order...

متن کامل

Proofs in Satisfiability Modulo Theories

Satisfiability Modulo Theories (SMT) solvers check the satisfiability of firstorder formulas written in a language containing interpreted predicates and functions. These interpreted symbols are defined either by first-order axioms (e.g. the axioms of equality, or array axioms for operators read and write,. . . ) or by a structure (e.g. the integer numbers equipped with constants, addition, equa...

متن کامل

The Role of Functions in the Stable Model Semantics

The rich modelling capabilities and efficient solvers of ASP have enabled the successful application of ASP to many domains. However, due to an issue called the “grounding bottleneck” that arises especially in numeric domains, ASP still faces some challenges in being applied to such domains. Recent work has considered hybrid approaches, using a combination of ASP and other KR formalisms includi...

متن کامل

Satisfiability Modulo Transcendental Functions via Incremental Linearization

In this paper we present an abstraction-refinement approach to Satisfiability Modulo the theory of transcendental functions, such as exponentiation and trigonometric functions. The transcendental functions are represented as uninterpreted in the abstract space, which is described in terms of the combined theory of linear arithmetic on the rationals with uninterpreted functions, and are incremen...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011